Установка платформы
Аутентификация в Docker
Для установки платформы Compressa вам понадобится уникальный токен доступа, который предоставит команда.
Установите переменную окружения с токеном:
export COMPRESSA_TOKEN=<TOKEN>
Пройдите аутентификацию в Docker с вашим токеном:
echo $COMPRESSA_TOKEN | docker login -u compressa --password-stdin
Базовая настройка
Сначала клонируйте репозиторий с конфигурацией:
git clone -b gm/compressa-platform git@github.com:compressa-ai/compressa-deploy.git
cd compressa-deploy
Репозиторий содержит два основных файла, которые мы будем настраивать:
.env
docker-compose.yml
Укажите идентификаторы GPU в файле .env
:
DOCKER_GPU_IDS_1=<ID1>
DOCKER_GPU_IDS_2=<ID2>
По умолчанию сервисы будут использовать порт 8080.
Если вам нужно изменить это, измените настройки в файле docker-compose.yml
для контейнера compressa-api-nginx
.
Настройка хранилища
По умолчанию контейнеры используют следующий путь для хранилища:
- compressa -
./data/compressa
У этой директории должны быть права 777, которые можно установить с помощью команды:chmod 777 -R ./data/compressa
Вы можете изменить путь к хранилищу в файле docker-compose.yml
.
Запуск сборки
Пройдя предыдущие шаги, вы можете запустить решение с помощью команды:
docker compose up --build
Запуск LLM и Embeddings моделей
Когда сервисы запущены, необходимо развернуть LLM и Embeddings модели.
Для корректной работы модуля InsightStream RAG нам нужна LLM модель Qwen 2.5-14B и Embeddings модель SFR-Embedding-Mistral
Модели можно развернуть с помощью REST API или через Swagger UI
REST API доступны по адресам:
SERVER_NAME:$PORT/api/chat/
SERVER_NAME:$PORT/api/embeddings/
Swagger UI доступен по адресам:
SERVER_NAME:$PORT/api/chat/docs
SERVER_NAME:$PORT/api/embeddings/docs
Вот команды для развертывания указанных моделей с использованием curl
:
Загрузка LLM модели Compressa-Qwen2.5-14B в Compressa:
curl -X 'POST' \
'http://$SERVER_NAME:$PORT/api/chat/v1/models/add/?model_id=compressa-ai%2FCompressa-Qwen2.5-14B-Instruct' \
-H 'accept: application/json' \
-d ''
Загрузка Embeddings модели SFR-Embedding-Mistral в Compressa:
curl -X 'POST' \
'http://$SERVER_NAME:$PORT/api/embeddings/v1/models/add/?model_id=Salesforce%2FSFR-Embedding-Mistral' \
-H 'accept: application/json' \
-d ''
Когда загрузка завершена, можно развернуть модели:
Запуск LLM модели
curl -X 'POST' "$SERVER_NAME:$PORT/api/chat/v1/deploy/" \
-H 'accept: application/json' \
-H 'Authorization: Bearer EMPTY' \
-H 'Content-Type: application/json' -d '{
"model_id": "compressa-ai/Compressa-Qwen2.5-14B-Instruct",
"served_model_name": "Compressa-LLM",
"dtype": "float16",
"backend": "lmdeploy"
}'